package com.example.app1.web.Test1Validation.controller;

import com.example.app1.pojo.User;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;

import javax.validation.Valid;

/**
 * 参数校验
 * 1.确保引入 validation依赖，2版本的springboot，已经包含在web模块了
 * 2.需要校验的vo属性上标注注解 比如@NotBlank
 * 3.controller方法参数上，标注@Valid 或者 @Validated
 *   Valid是JSR标准提供的，Validated是spring提供的
 * 4.一旦校验出错，使用全局异常处理器统一处理: MethodArgumentNotValidException
 * 5.如果框架提供的不满足现有要求，可以自定义注解，自定义 validator
 */

@RestController
public class ValidationController {

    @PostMapping("/register")
    public String register(@RequestBody @Valid User user) {
        return "ok";
    }

}
